package com.gloaba.common.log.enums;


import org.apache.commons.lang3.StringUtils;

/**
 * 业务操作类型
 *
 * @author Zane
 */
public enum BusinessType
{
    /**
     * 其它
     */
    OTHER("OTHER", "其它"),

    /**
     * 其它
     */
    QUERY("QUERY", "查询"),

    /**
     * 新增
     */
    INSERT("INSERT", "新增"),

    /**
     * 修改
     */
    UPDATE("UPDATE", "修改"),

    /**
     * 删除
     */
    DELETE("DELETE", "删除"),

    /**
     * 登录
     */
    LOGIN("LOGIN", "登录"),

    /**
     * 退出
     */
    LOGOUT("LOGOUT", "退出"),

    /**
     * 授权
     */
    GRANT("GRANT", "授权"),

    /**
     * 导出
     */
    EXPORT("EXPORT", "导出"),

    /**
     * 导入
     */
    IMPORT("IMPORT", "导入"),

    /**
     * 强退
     */
    FORCE("FORCE", "强退"),

    /**
     * 生成代码
     */
    GENCODE("GENCODE", "生成代码"),

    /**
     * 清空数据
     */
    CLEAN("CLEAN", "清空数据");
    /**
     * 类型
     */
    private final String type;

    /**
     * 说明
     */
    private final String remark;

    BusinessType(String type, String remark) {
        this.type = type;
        this.remark = remark;
    }

    public String getType() {
        return type;
    }

    public String getRemark() {
        return remark;
    }

    public static BusinessType getValue(String type) {
        if (StringUtils.isEmpty(type)) {
            return null;
        }
        for (BusinessType c : BusinessType.values()) {
            if (c.type.toLowerCase().equals(type.toLowerCase())) {
                return c;
            }
        }
        return OTHER;
    }
}
